package Student;

import java.util.Scanner;



public class Student_Service implements IStudent_Service{
	private Student_DAO sdao = new Student_DAO();
	


	@Override
	public void createStudent() {

		System.out.println("학점 관리 시스템 - 학생의 정보를 입력받겠습니다.");
		Scanner sc = new Scanner(System.in);
		StudentVO s = new StudentVO();
		
		System.out.println("학번을 입력하세요");
		s.setSTD_NO(sc.next());
		System.out.println("비밀번호를 입력하세요");
		s.setUSER_PW(sc.next());
		System.out.println("이름을 입력하세요");
		s.setSTD_NAME(sc.next());
		System.out.println("전화번호를 입력하세요");
		s.setSTD_TEL(sc.next());
		sc = new Scanner(System.in);
		System.out.println("주소를 입력하세요");
		s.setSTD_ADDR(sc.nextLine());
		System.out.println("소속 학과를 입력하세요");
		s.setDEPT_NO(sc.next());
		System.out.println("담당 교수번호를 입력하세요");
		s.setPROF_NO(sc.next());
		System.out.println("수강신청과목 번호를 입력하세요");
		s.setSUB_NO(sc.next());
		System.out.println("누적 학점을 입력하세요");
		s.setTOT_POINT(sc.next());
		
		if(sdao.insertStudent(s))
			System.out.println("학생 정보 입력이 완료되었습니다.");
		else 
			System.out.println("정보 입력에 실패하였습니다.");
		
	}

	@Override
	public void readStudent() {
	for(StudentVO s : sdao.selectStudent()){
		System.out.print(s.getSTD_NO());
		System.out.print("/");
		System.out.print(s.getUSER_PW());
		System.out.print("/");
		System.out.print(s.getSTD_NAME());
		System.out.print("/");
		System.out.print(s.getSTD_TEL());
		System.out.print("/");
		System.out.print(s.getSTD_ADDR());
		System.out.print("/");
		System.out.print(s.getDEPT_NO());
		System.out.print("/");
		System.out.print(s.getPROF_NO());
		System.out.print("/");
		System.out.println(s.getSUB_NO());
		System.out.print("/");
		System.out.println(s.getTOT_POINT());
	}
	}

	@Override
	public void modifyStudent() {
	StudentVO s = new StudentVO();
	Scanner sc = new Scanner(System.in);
	
	System.out.println("수정할 학번을 입력하세요");
	s.setSTD_NO(sc.next());
	System.out.println("변경할 비밀번호를 입력하세요");
	s.setUSER_PW(sc.next());
	System.out.println("개명한 이름을 입력하세요");
	s.setSTD_NAME(sc.next());
	System.out.println("변경할 전화번호를 입력해주세요");
	s.setSTD_TEL(sc.next());
	sc = new Scanner(System.in);
	System.out.println("변경된 주소를 입력하세요");
	s.setSTD_ADDR(sc.nextLine());
	System.out.println("변경할 학과번호를 입력하세요");
	sc = new Scanner(System.in);
	s.setDEPT_NO(sc.next());
	System.out.println("변경된 교수님의 교수번호를 입력하세요");
	s.setPROF_NO(sc.next());
	System.out.println("변경된  수강과목 번호를 입력하세요");
	s.setSUB_NO(sc.next());
	System.out.println("변경된  누적학점을 입력하세요");
	s.setTOT_POINT(sc.next());
	
	try{
	if ( sdao.updateStudent(s)){
		System.out.println( "정상적으로 처리되었습니다." );
	}
	else{	
		System.out.println( "입력값이 잘못 되었습니다. 다시 확인하여 주세요");
	}
	}catch( Exception e ){
		e.printStackTrace();
	}
	}

	@Override
	public void deleteStudent() {
		
		StudentVO s = new StudentVO();
		Scanner sc = new Scanner(System.in);
		System.out.println("삭제를 원하시면 학번을 입력하세요");
		s.setSTD_NO(sc.next());
		
		try{
		if(sdao.deleteStudent(s)){
			System.out.println("학생의 정보가 정상적으로 삭제되었습니다.");
		}else
			System.out.println("일치하는 정보가 없습니다. 다시 시도해주세요");
		}catch(Exception e){
			e.printStackTrace();
	}
	}
}
